In a class-based object-oriented programming language, implementation of an object is determined according to the class definition of the relevant object. Technology relating to classes in a class-based object-oriented programming language is known, as described in official gazettes.
Japanese Patent Application JP11-85492A discloses technology according to which, first, a subclass creation unit creates a superclass including an attribute and a method that are common to a selected plurality of objects. Next, common domains of objects designated for a subclass are retrieved from a domain keyword database to create a list of domain names, and then, by means of objects selected from a non-common portion, the subclass creation unit creates a subclass from which attributes and methods used in the superclass have been deleted, and thereafter combines the created subclass with the superclass and deletes the selected objects from the non-common portion. Furthermore, a subclass model registration unit gives the subclass structure (combination model of the superclass and subclass) created by the subclass creation unit the same name as the superclass and registers the subclass structure in a domain model database as a domain model. Thereafter, at a subclassing combination diagram generation unit, an object group of subclass structures created by the subclass creation unit and an object group of non-common portions for which subclassing was not performed are combined with a common portion extracted by a similar portion extraction unit based on the respective related data thereof, and an object inclusion diagram having a subclassing structure is created.
Japanese Patent Application JP07-13766A discloses technology in which SOMobjects, an IBM system object model product is an object-oriented framework, and the framework is constituted by classes and objects belonging to the classes. In SOMobjects, a class is itself an object, and has all the characteristics of an object. A class has the additional characteristic of including information relating to a method or behavior (action) to which each object in the relevant class responds. In a case where an object includes a process code for a certain method name, the object is regarded as an object that responds to the relevant method. When an object in a class responds to a certain method, the class is regarded as supporting the relevant method. The term “a method is supported by a certain class” refers to a method that is explicitly defined for the class and a method that is inherited from a class that is a parent class of the relevant class. Further, an object responds only to a method that is supported by the class to which the object belongs.
Japanese Patent Application JP06-103075A discloses technology according to which, by expanding an object-oriented programming language and subclassing without indicating inheritance of implementation from a parent class, a modifier that indicates inheritance of an interface from a parent class of a class is provided for each class. Japanese Patent Application JP2011-233171A discloses a class loader adapted to load a class that is associated with an application. Japanese Patent Application JP06-251163A discloses an object model display apparatus configured so that, when an instruction of a user that was input using an input device is interpreted by an input interpretation unit and an instruction is sent to a display unit and is displayed in a graph structure on a display while referring to model information stored in an object model storage unit via the display unit, a class is displayed as a node by a class node display unit, the relation is displayed as a branch by a related branch display unit, a member belonging to the class is displayed by a member display unit, and nodes corresponding to respective classes in a generalization/specialization relation, for example, respective parent classes and child classes, are displayed so that the parent class is included in the node of the child class by a generalized class node display unit. Further, technology that optimizes a program by specializing is also known, as described in official gazettes (for example, see Japanese Patent Applications JP2002-259135A and JP2005-215830A).
Japanese Patent Application JP2002-259135A discloses a compiler that includes: an influence degree analysis unit that analyzes how much the execution speed of a program that is a compilation object can be improved by fixing a parameter of a predetermined instruction in the program in a specific state; a specialization data selection unit that obtains statistics regarding the occurrence frequency in each state that the parameter of the instruction that is analyzed by the influence degree analysis unit can take in a case where the program was executed, and determines which state to fix the parameter of the instruction in based on the obtained statistical information; and a specialization processing unit that, based on the processing results obtained by the influence degree analysis unit and the specialization data selection unit, generates a specialized path that fixes the parameter of the predetermined instruction in a specific state in the program.
Japanese Patent Application JP2005-215830A discloses an optimization compiler that includes: an update instruction detection unit that detects an update instruction for updating the contents of a variable or a storage region designated by the variable in a program to be optimized; an instruction string detection unit that detects an instruction string for executing different processing in accordance with the contents of the variable or the storage region when control is transferred by a control transfer instruction that transfers control to another instruction string in the target program; an instruction string compiling unit that optimizes the detected instruction string for processing in a case where the contents of the variable or the storage region are predetermined specific contents and compiles the instruction string; and a setting instruction generation unit that, during a period from an update instruction to a control transfer instruction in the target program, generates a setting instruction that is executed in a case where the contents of the variable or the contents of the storage region are the specific contents and that sets a transfer destination address of the control transfer instruction to the address of the instruction string that was optimized by the instruction string compiling unit.